/**
 * Copyright 2023-present DreamNum Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import { FUNCTION_NAMES_FINANCIAL, FunctionType, type IFunctionInfo } from '@univerjs/engine-formula';

export const FUNCTION_LIST_FINANCIAL: IFunctionInfo[] = [
    {
        functionName: FUNCTION_NAMES_FINANCIAL.ACCRINT,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.ACCRINT.description',
        abstract: 'formula.functionList.ACCRINT.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.ACCRINT.functionParameter.issue.name',
                detail: 'formula.functionList.ACCRINT.functionParameter.issue.detail',
                example: '39508',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ACCRINT.functionParameter.firstInterest.name',
                detail: 'formula.functionList.ACCRINT.functionParameter.firstInterest.detail',
                example: '39691',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ACCRINT.functionParameter.settlement.name',
                detail: 'formula.functionList.ACCRINT.functionParameter.settlement.detail',
                example: '39569',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ACCRINT.functionParameter.rate.name',
                detail: 'formula.functionList.ACCRINT.functionParameter.rate.detail',
                example: '0.1',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ACCRINT.functionParameter.par.name',
                detail: 'formula.functionList.ACCRINT.functionParameter.par.detail',
                example: '1000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ACCRINT.functionParameter.frequency.name',
                detail: 'formula.functionList.ACCRINT.functionParameter.frequency.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ACCRINT.functionParameter.basis.name',
                detail: 'formula.functionList.ACCRINT.functionParameter.basis.detail',
                example: '0',
                require: 0,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ACCRINT.functionParameter.calcMethod.name',
                detail: 'formula.functionList.ACCRINT.functionParameter.calcMethod.detail',
                example: 'true',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.ACCRINTM,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.ACCRINTM.description',
        abstract: 'formula.functionList.ACCRINTM.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.ACCRINTM.functionParameter.issue.name',
                detail: 'formula.functionList.ACCRINTM.functionParameter.issue.detail',
                example: '"2008-4-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ACCRINTM.functionParameter.settlement.name',
                detail: 'formula.functionList.ACCRINTM.functionParameter.settlement.detail',
                example: '"2008-6-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ACCRINTM.functionParameter.rate.name',
                detail: 'formula.functionList.ACCRINTM.functionParameter.rate.detail',
                example: '0.1',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ACCRINTM.functionParameter.par.name',
                detail: 'formula.functionList.ACCRINTM.functionParameter.par.detail',
                example: '1000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ACCRINTM.functionParameter.basis.name',
                detail: 'formula.functionList.ACCRINTM.functionParameter.basis.detail',
                example: '3',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.AMORDEGRC,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.AMORDEGRC.description',
        abstract: 'formula.functionList.AMORDEGRC.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.AMORDEGRC.functionParameter.number1.name',
                detail: 'formula.functionList.AMORDEGRC.functionParameter.number1.detail',
                example: 'A1:A20',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.AMORDEGRC.functionParameter.number2.name',
                detail: 'formula.functionList.AMORDEGRC.functionParameter.number2.detail',
                example: 'A1:A20',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.AMORLINC,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.AMORLINC.description',
        abstract: 'formula.functionList.AMORLINC.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.AMORLINC.functionParameter.cost.name',
                detail: 'formula.functionList.AMORLINC.functionParameter.cost.detail',
                example: '2400',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.AMORLINC.functionParameter.datePurchased.name',
                detail: 'formula.functionList.AMORLINC.functionParameter.datePurchased.detail',
                example: '39679',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.AMORLINC.functionParameter.firstPeriod.name',
                detail: 'formula.functionList.AMORLINC.functionParameter.firstPeriod.detail',
                example: '39813',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.AMORLINC.functionParameter.salvage.name',
                detail: 'formula.functionList.AMORLINC.functionParameter.salvage.detail',
                example: '300',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.AMORLINC.functionParameter.period.name',
                detail: 'formula.functionList.AMORLINC.functionParameter.period.detail',
                example: '1',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.AMORLINC.functionParameter.rate.name',
                detail: 'formula.functionList.AMORLINC.functionParameter.rate.detail',
                example: '0.15',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.AMORLINC.functionParameter.basis.name',
                detail: 'formula.functionList.AMORLINC.functionParameter.basis.detail',
                example: '0',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.COUPDAYBS,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.COUPDAYBS.description',
        abstract: 'formula.functionList.COUPDAYBS.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.COUPDAYBS.functionParameter.settlement.name',
                detail: 'formula.functionList.COUPDAYBS.functionParameter.settlement.detail',
                example: '"2011-1-25"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPDAYBS.functionParameter.maturity.name',
                detail: 'formula.functionList.COUPDAYBS.functionParameter.maturity.detail',
                example: '"2011-11-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPDAYBS.functionParameter.frequency.name',
                detail: 'formula.functionList.COUPDAYBS.functionParameter.frequency.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPDAYBS.functionParameter.basis.name',
                detail: 'formula.functionList.COUPDAYBS.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.COUPDAYS,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.COUPDAYS.description',
        abstract: 'formula.functionList.COUPDAYS.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.COUPDAYS.functionParameter.settlement.name',
                detail: 'formula.functionList.COUPDAYS.functionParameter.settlement.detail',
                example: '"2011-1-25"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPDAYS.functionParameter.maturity.name',
                detail: 'formula.functionList.COUPDAYS.functionParameter.maturity.detail',
                example: '"2011-11-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPDAYS.functionParameter.frequency.name',
                detail: 'formula.functionList.COUPDAYS.functionParameter.frequency.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPDAYS.functionParameter.basis.name',
                detail: 'formula.functionList.COUPDAYS.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.COUPDAYSNC,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.COUPDAYSNC.description',
        abstract: 'formula.functionList.COUPDAYSNC.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.COUPDAYSNC.functionParameter.settlement.name',
                detail: 'formula.functionList.COUPDAYSNC.functionParameter.settlement.detail',
                example: '"2011-1-25"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPDAYSNC.functionParameter.maturity.name',
                detail: 'formula.functionList.COUPDAYSNC.functionParameter.maturity.detail',
                example: '"2011-11-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPDAYSNC.functionParameter.frequency.name',
                detail: 'formula.functionList.COUPDAYSNC.functionParameter.frequency.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPDAYSNC.functionParameter.basis.name',
                detail: 'formula.functionList.COUPDAYSNC.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.COUPNCD,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.COUPNCD.description',
        abstract: 'formula.functionList.COUPNCD.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.COUPNCD.functionParameter.settlement.name',
                detail: 'formula.functionList.COUPNCD.functionParameter.settlement.detail',
                example: '"2011-1-25"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPNCD.functionParameter.maturity.name',
                detail: 'formula.functionList.COUPNCD.functionParameter.maturity.detail',
                example: '"2011-11-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPNCD.functionParameter.frequency.name',
                detail: 'formula.functionList.COUPNCD.functionParameter.frequency.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPNCD.functionParameter.basis.name',
                detail: 'formula.functionList.COUPNCD.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.COUPNUM,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.COUPNUM.description',
        abstract: 'formula.functionList.COUPNUM.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.COUPNUM.functionParameter.settlement.name',
                detail: 'formula.functionList.COUPNUM.functionParameter.settlement.detail',
                example: '"2011-1-25"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPNUM.functionParameter.maturity.name',
                detail: 'formula.functionList.COUPNUM.functionParameter.maturity.detail',
                example: '"2011-11-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPNUM.functionParameter.frequency.name',
                detail: 'formula.functionList.COUPNUM.functionParameter.frequency.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPNUM.functionParameter.basis.name',
                detail: 'formula.functionList.COUPNUM.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.COUPPCD,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.COUPPCD.description',
        abstract: 'formula.functionList.COUPPCD.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.COUPPCD.functionParameter.settlement.name',
                detail: 'formula.functionList.COUPPCD.functionParameter.settlement.detail',
                example: '"2011-1-25"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPPCD.functionParameter.maturity.name',
                detail: 'formula.functionList.COUPPCD.functionParameter.maturity.detail',
                example: '"2011-11-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPPCD.functionParameter.frequency.name',
                detail: 'formula.functionList.COUPPCD.functionParameter.frequency.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.COUPPCD.functionParameter.basis.name',
                detail: 'formula.functionList.COUPPCD.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.CUMIPMT,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.CUMIPMT.description',
        abstract: 'formula.functionList.CUMIPMT.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.CUMIPMT.functionParameter.rate.name',
                detail: 'formula.functionList.CUMIPMT.functionParameter.rate.detail',
                example: '0.09/12',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.CUMIPMT.functionParameter.nper.name',
                detail: 'formula.functionList.CUMIPMT.functionParameter.nper.detail',
                example: '30*12',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.CUMIPMT.functionParameter.pv.name',
                detail: 'formula.functionList.CUMIPMT.functionParameter.pv.detail',
                example: '125000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.CUMIPMT.functionParameter.startPeriod.name',
                detail: 'formula.functionList.CUMIPMT.functionParameter.startPeriod.detail',
                example: '13',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.CUMIPMT.functionParameter.endPeriod.name',
                detail: 'formula.functionList.CUMIPMT.functionParameter.endPeriod.detail',
                example: '24',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.CUMIPMT.functionParameter.type.name',
                detail: 'formula.functionList.CUMIPMT.functionParameter.type.detail',
                example: '0',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.CUMPRINC,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.CUMPRINC.description',
        abstract: 'formula.functionList.CUMPRINC.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.CUMPRINC.functionParameter.rate.name',
                detail: 'formula.functionList.CUMPRINC.functionParameter.rate.detail',
                example: '0.09/12',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.CUMPRINC.functionParameter.nper.name',
                detail: 'formula.functionList.CUMPRINC.functionParameter.nper.detail',
                example: '30*12',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.CUMPRINC.functionParameter.pv.name',
                detail: 'formula.functionList.CUMPRINC.functionParameter.pv.detail',
                example: '125000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.CUMPRINC.functionParameter.startPeriod.name',
                detail: 'formula.functionList.CUMPRINC.functionParameter.startPeriod.detail',
                example: '13',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.CUMPRINC.functionParameter.endPeriod.name',
                detail: 'formula.functionList.CUMPRINC.functionParameter.endPeriod.detail',
                example: '24',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.CUMPRINC.functionParameter.type.name',
                detail: 'formula.functionList.CUMPRINC.functionParameter.type.detail',
                example: '0',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.DB,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.DB.description',
        abstract: 'formula.functionList.DB.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.DB.functionParameter.cost.name',
                detail: 'formula.functionList.DB.functionParameter.cost.detail',
                example: '10000000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DB.functionParameter.salvage.name',
                detail: 'formula.functionList.DB.functionParameter.salvage.detail',
                example: '1000000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DB.functionParameter.life.name',
                detail: 'formula.functionList.DB.functionParameter.life.detail',
                example: '6',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DB.functionParameter.period.name',
                detail: 'formula.functionList.DB.functionParameter.period.detail',
                example: '1',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DB.functionParameter.month.name',
                detail: 'formula.functionList.DB.functionParameter.month.detail',
                example: '7',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.DDB,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.DDB.description',
        abstract: 'formula.functionList.DDB.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.DDB.functionParameter.cost.name',
                detail: 'formula.functionList.DDB.functionParameter.cost.detail',
                example: '24000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DDB.functionParameter.salvage.name',
                detail: 'formula.functionList.DDB.functionParameter.salvage.detail',
                example: '3000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DDB.functionParameter.life.name',
                detail: 'formula.functionList.DDB.functionParameter.life.detail',
                example: '10',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DDB.functionParameter.period.name',
                detail: 'formula.functionList.DDB.functionParameter.period.detail',
                example: '1',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DDB.functionParameter.factor.name',
                detail: 'formula.functionList.DDB.functionParameter.factor.detail',
                example: '2',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.DISC,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.DISC.description',
        abstract: 'formula.functionList.DISC.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.DISC.functionParameter.settlement.name',
                detail: 'formula.functionList.DISC.functionParameter.settlement.detail',
                example: '"2018-7-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DISC.functionParameter.maturity.name',
                detail: 'formula.functionList.DISC.functionParameter.maturity.detail',
                example: '"2048-1-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DISC.functionParameter.pr.name',
                detail: 'formula.functionList.DISC.functionParameter.pr.detail',
                example: '97.975',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DISC.functionParameter.redemption.name',
                detail: 'formula.functionList.DISC.functionParameter.redemption.detail',
                example: '100',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DISC.functionParameter.basis.name',
                detail: 'formula.functionList.DISC.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.DOLLARDE,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.DOLLARDE.description',
        abstract: 'formula.functionList.DOLLARDE.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.DOLLARDE.functionParameter.fractionalDollar.name',
                detail: 'formula.functionList.DOLLARDE.functionParameter.fractionalDollar.detail',
                example: '1.02',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DOLLARDE.functionParameter.fraction.name',
                detail: 'formula.functionList.DOLLARDE.functionParameter.fraction.detail',
                example: '16',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.DOLLARFR,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.DOLLARFR.description',
        abstract: 'formula.functionList.DOLLARFR.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.DOLLARFR.functionParameter.decimalDollar.name',
                detail: 'formula.functionList.DOLLARFR.functionParameter.decimalDollar.detail',
                example: '1.125',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DOLLARFR.functionParameter.fraction.name',
                detail: 'formula.functionList.DOLLARFR.functionParameter.fraction.detail',
                example: '16',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.DURATION,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.DURATION.description',
        abstract: 'formula.functionList.DURATION.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.DURATION.functionParameter.settlement.name',
                detail: 'formula.functionList.DURATION.functionParameter.settlement.detail',
                example: '"2018-7-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DURATION.functionParameter.maturity.name',
                detail: 'formula.functionList.DURATION.functionParameter.maturity.detail',
                example: '"2048-1-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DURATION.functionParameter.coupon.name',
                detail: 'formula.functionList.DURATION.functionParameter.coupon.detail',
                example: '0.08',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DURATION.functionParameter.yld.name',
                detail: 'formula.functionList.DURATION.functionParameter.yld.detail',
                example: '0.09',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DURATION.functionParameter.frequency.name',
                detail: 'formula.functionList.DURATION.functionParameter.frequency.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.DURATION.functionParameter.basis.name',
                detail: 'formula.functionList.DURATION.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.EFFECT,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.EFFECT.description',
        abstract: 'formula.functionList.EFFECT.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.EFFECT.functionParameter.nominalRate.name',
                detail: 'formula.functionList.EFFECT.functionParameter.nominalRate.detail',
                example: '0.0525',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.EFFECT.functionParameter.npery.name',
                detail: 'formula.functionList.EFFECT.functionParameter.npery.detail',
                example: '4',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.FV,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.FV.description',
        abstract: 'formula.functionList.FV.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.FV.functionParameter.rate.name',
                detail: 'formula.functionList.FV.functionParameter.rate.detail',
                example: '0.06/12',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.FV.functionParameter.nper.name',
                detail: 'formula.functionList.FV.functionParameter.nper.detail',
                example: '10',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.FV.functionParameter.pmt.name',
                detail: 'formula.functionList.FV.functionParameter.pmt.detail',
                example: '-200',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.FV.functionParameter.pv.name',
                detail: 'formula.functionList.FV.functionParameter.pv.detail',
                example: '-500',
                require: 0,
                repeat: 0,
            },
            {
                name: 'formula.functionList.FV.functionParameter.type.name',
                detail: 'formula.functionList.FV.functionParameter.type.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.FVSCHEDULE,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.FVSCHEDULE.description',
        abstract: 'formula.functionList.FVSCHEDULE.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.FVSCHEDULE.functionParameter.principal.name',
                detail: 'formula.functionList.FVSCHEDULE.functionParameter.principal.detail',
                example: '1',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.FVSCHEDULE.functionParameter.schedule.name',
                detail: 'formula.functionList.FVSCHEDULE.functionParameter.schedule.detail',
                example: 'A1:A4',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.INTRATE,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.INTRATE.description',
        abstract: 'formula.functionList.INTRATE.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.INTRATE.functionParameter.settlement.name',
                detail: 'formula.functionList.INTRATE.functionParameter.settlement.detail',
                example: '"2008-2-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.INTRATE.functionParameter.maturity.name',
                detail: 'formula.functionList.INTRATE.functionParameter.maturity.detail',
                example: '"2008-5-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.INTRATE.functionParameter.investment.name',
                detail: 'formula.functionList.INTRATE.functionParameter.investment.detail',
                example: '10000000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.INTRATE.functionParameter.redemption.name',
                detail: 'formula.functionList.INTRATE.functionParameter.redemption.detail',
                example: '10144200',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.INTRATE.functionParameter.basis.name',
                detail: 'formula.functionList.INTRATE.functionParameter.basis.detail',
                example: '2',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.IPMT,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.IPMT.description',
        abstract: 'formula.functionList.IPMT.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.IPMT.functionParameter.rate.name',
                detail: 'formula.functionList.IPMT.functionParameter.rate.detail',
                example: '0.1/12',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.IPMT.functionParameter.per.name',
                detail: 'formula.functionList.IPMT.functionParameter.per.detail',
                example: '1',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.IPMT.functionParameter.nper.name',
                detail: 'formula.functionList.IPMT.functionParameter.nper.detail',
                example: '3*12',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.IPMT.functionParameter.pv.name',
                detail: 'formula.functionList.IPMT.functionParameter.pv.detail',
                example: '80000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.IPMT.functionParameter.fv.name',
                detail: 'formula.functionList.IPMT.functionParameter.fv.detail',
                example: '0',
                require: 0,
                repeat: 0,
            },
            {
                name: 'formula.functionList.IPMT.functionParameter.type.name',
                detail: 'formula.functionList.IPMT.functionParameter.type.detail',
                example: '0',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.IRR,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.IRR.description',
        abstract: 'formula.functionList.IRR.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.IRR.functionParameter.values.name',
                detail: 'formula.functionList.IRR.functionParameter.values.detail',
                example: 'A1:A4',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.IRR.functionParameter.guess.name',
                detail: 'formula.functionList.IRR.functionParameter.guess.detail',
                example: '0.1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.ISPMT,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.ISPMT.description',
        abstract: 'formula.functionList.ISPMT.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.ISPMT.functionParameter.rate.name',
                detail: 'formula.functionList.ISPMT.functionParameter.rate.detail',
                example: '0.1',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ISPMT.functionParameter.per.name',
                detail: 'formula.functionList.ISPMT.functionParameter.per.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ISPMT.functionParameter.nper.name',
                detail: 'formula.functionList.ISPMT.functionParameter.nper.detail',
                example: '5',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ISPMT.functionParameter.pv.name',
                detail: 'formula.functionList.ISPMT.functionParameter.pv.detail',
                example: '1000',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.MDURATION,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.MDURATION.description',
        abstract: 'formula.functionList.MDURATION.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.MDURATION.functionParameter.settlement.name',
                detail: 'formula.functionList.MDURATION.functionParameter.settlement.detail',
                example: '"2018-7-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.MDURATION.functionParameter.maturity.name',
                detail: 'formula.functionList.MDURATION.functionParameter.maturity.detail',
                example: '"2048-1-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.MDURATION.functionParameter.coupon.name',
                detail: 'formula.functionList.MDURATION.functionParameter.coupon.detail',
                example: '0.08',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.MDURATION.functionParameter.yld.name',
                detail: 'formula.functionList.MDURATION.functionParameter.yld.detail',
                example: '0.09',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.MDURATION.functionParameter.frequency.name',
                detail: 'formula.functionList.MDURATION.functionParameter.frequency.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.MDURATION.functionParameter.basis.name',
                detail: 'formula.functionList.MDURATION.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.MIRR,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.MIRR.description',
        abstract: 'formula.functionList.MIRR.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.MIRR.functionParameter.values.name',
                detail: 'formula.functionList.MIRR.functionParameter.values.detail',
                example: 'A1:A4',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.MIRR.functionParameter.financeRate.name',
                detail: 'formula.functionList.MIRR.functionParameter.financeRate.detail',
                example: '0.1',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.MIRR.functionParameter.reinvestRate.name',
                detail: 'formula.functionList.MIRR.functionParameter.reinvestRate.detail',
                example: '0.12',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.NOMINAL,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.NOMINAL.description',
        abstract: 'formula.functionList.NOMINAL.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.NOMINAL.functionParameter.effectRate.name',
                detail: 'formula.functionList.NOMINAL.functionParameter.effectRate.detail',
                example: '0.053543',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.NOMINAL.functionParameter.npery.name',
                detail: 'formula.functionList.NOMINAL.functionParameter.npery.detail',
                example: '4',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.NPER,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.NPER.description',
        abstract: 'formula.functionList.NPER.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.NPER.functionParameter.rate.name',
                detail: 'formula.functionList.NPER.functionParameter.rate.detail',
                example: '0.12/12',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.NPER.functionParameter.pmt.name',
                detail: 'formula.functionList.NPER.functionParameter.pmt.detail',
                example: '-100',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.NPER.functionParameter.pv.name',
                detail: 'formula.functionList.NPER.functionParameter.pv.detail',
                example: '-1000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.NPER.functionParameter.fv.name',
                detail: 'formula.functionList.NPER.functionParameter.fv.detail',
                example: '10000',
                require: 0,
                repeat: 0,
            },
            {
                name: 'formula.functionList.NPER.functionParameter.type.name',
                detail: 'formula.functionList.NPER.functionParameter.type.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.NPV,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.NPV.description',
        abstract: 'formula.functionList.NPV.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.NPV.functionParameter.rate.name',
                detail: 'formula.functionList.NPV.functionParameter.rate.detail',
                example: '0.1',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.NPV.functionParameter.value1.name',
                detail: 'formula.functionList.NPV.functionParameter.value1.detail',
                example: 'A1:A4',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.NPV.functionParameter.value2.name',
                detail: 'formula.functionList.NPV.functionParameter.value2.detail',
                example: '-9000',
                require: 0,
                repeat: 1,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.ODDFPRICE,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.ODDFPRICE.description',
        abstract: 'formula.functionList.ODDFPRICE.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.ODDFPRICE.functionParameter.settlement.name',
                detail: 'formula.functionList.ODDFPRICE.functionParameter.settlement.detail',
                example: '"2008-11-11"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFPRICE.functionParameter.maturity.name',
                detail: 'formula.functionList.ODDFPRICE.functionParameter.maturity.detail',
                example: '"2021-3-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFPRICE.functionParameter.issue.name',
                detail: 'formula.functionList.ODDFPRICE.functionParameter.issue.detail',
                example: '"2008-10-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFPRICE.functionParameter.firstCoupon.name',
                detail: 'formula.functionList.ODDFPRICE.functionParameter.firstCoupon.detail',
                example: '"2009-3-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFPRICE.functionParameter.rate.name',
                detail: 'formula.functionList.ODDFPRICE.functionParameter.rate.detail',
                example: '0.0785',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFPRICE.functionParameter.yld.name',
                detail: 'formula.functionList.ODDFPRICE.functionParameter.yld.detail',
                example: '0.0625',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFPRICE.functionParameter.redemption.name',
                detail: 'formula.functionList.ODDFPRICE.functionParameter.redemption.detail',
                example: '100',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFPRICE.functionParameter.frequency.name',
                detail: 'formula.functionList.ODDFPRICE.functionParameter.frequency.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFPRICE.functionParameter.basis.name',
                detail: 'formula.functionList.ODDFPRICE.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.ODDFYIELD,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.ODDFYIELD.description',
        abstract: 'formula.functionList.ODDFYIELD.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.ODDFYIELD.functionParameter.settlement.name',
                detail: 'formula.functionList.ODDFYIELD.functionParameter.settlement.detail',
                example: '"2008-11-11"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFYIELD.functionParameter.maturity.name',
                detail: 'formula.functionList.ODDFYIELD.functionParameter.maturity.detail',
                example: '"2021-3-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFYIELD.functionParameter.issue.name',
                detail: 'formula.functionList.ODDFYIELD.functionParameter.issue.detail',
                example: '"2008-10-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFYIELD.functionParameter.firstCoupon.name',
                detail: 'formula.functionList.ODDFYIELD.functionParameter.firstCoupon.detail',
                example: '"2009-3-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFYIELD.functionParameter.rate.name',
                detail: 'formula.functionList.ODDFYIELD.functionParameter.rate.detail',
                example: '0.0575',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFYIELD.functionParameter.pr.name',
                detail: 'formula.functionList.ODDFYIELD.functionParameter.pr.detail',
                example: '84.5',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFYIELD.functionParameter.redemption.name',
                detail: 'formula.functionList.ODDFYIELD.functionParameter.redemption.detail',
                example: '100',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFYIELD.functionParameter.frequency.name',
                detail: 'formula.functionList.ODDFYIELD.functionParameter.frequency.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDFYIELD.functionParameter.basis.name',
                detail: 'formula.functionList.ODDFYIELD.functionParameter.basis.detail',
                example: '0',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.ODDLPRICE,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.ODDLPRICE.description',
        abstract: 'formula.functionList.ODDLPRICE.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.ODDLPRICE.functionParameter.settlement.name',
                detail: 'formula.functionList.ODDLPRICE.functionParameter.settlement.detail',
                example: '"2008-11-11"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDLPRICE.functionParameter.maturity.name',
                detail: 'formula.functionList.ODDLPRICE.functionParameter.maturity.detail',
                example: '"2021-3-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDLPRICE.functionParameter.lastInterest.name',
                detail: 'formula.functionList.ODDLPRICE.functionParameter.lastInterest.detail',
                example: '"2009-3-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDLPRICE.functionParameter.rate.name',
                detail: 'formula.functionList.ODDLPRICE.functionParameter.rate.detail',
                example: '0.0785',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDLPRICE.functionParameter.yld.name',
                detail: 'formula.functionList.ODDLPRICE.functionParameter.yld.detail',
                example: '0.0625',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDLPRICE.functionParameter.redemption.name',
                detail: 'formula.functionList.ODDLPRICE.functionParameter.redemption.detail',
                example: '100',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDLPRICE.functionParameter.frequency.name',
                detail: 'formula.functionList.ODDLPRICE.functionParameter.frequency.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDLPRICE.functionParameter.basis.name',
                detail: 'formula.functionList.ODDLPRICE.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.ODDLYIELD,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.ODDLYIELD.description',
        abstract: 'formula.functionList.ODDLYIELD.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.ODDLYIELD.functionParameter.settlement.name',
                detail: 'formula.functionList.ODDLYIELD.functionParameter.settlement.detail',
                example: '"2008-11-11"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDLYIELD.functionParameter.maturity.name',
                detail: 'formula.functionList.ODDLYIELD.functionParameter.maturity.detail',
                example: '"2021-3-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDLYIELD.functionParameter.lastInterest.name',
                detail: 'formula.functionList.ODDLYIELD.functionParameter.lastInterest.detail',
                example: '"2008-10-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDLYIELD.functionParameter.rate.name',
                detail: 'formula.functionList.ODDLYIELD.functionParameter.rate.detail',
                example: '0.0575',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDLYIELD.functionParameter.pr.name',
                detail: 'formula.functionList.ODDLYIELD.functionParameter.pr.detail',
                example: '84.5',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDLYIELD.functionParameter.redemption.name',
                detail: 'formula.functionList.ODDLYIELD.functionParameter.redemption.detail',
                example: '100',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDLYIELD.functionParameter.frequency.name',
                detail: 'formula.functionList.ODDLYIELD.functionParameter.frequency.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.ODDLYIELD.functionParameter.basis.name',
                detail: 'formula.functionList.ODDLYIELD.functionParameter.basis.detail',
                example: '0',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.PDURATION,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.PDURATION.description',
        abstract: 'formula.functionList.PDURATION.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.PDURATION.functionParameter.rate.name',
                detail: 'formula.functionList.PDURATION.functionParameter.rate.detail',
                example: '0.025',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PDURATION.functionParameter.pv.name',
                detail: 'formula.functionList.PDURATION.functionParameter.pv.detail',
                example: '2000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PDURATION.functionParameter.fv.name',
                detail: 'formula.functionList.PDURATION.functionParameter.fv.detail',
                example: '2200',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.PMT,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.PMT.description',
        abstract: 'formula.functionList.PMT.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.PMT.functionParameter.rate.name',
                detail: 'formula.functionList.PMT.functionParameter.rate.detail',
                example: '0.08/12',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PMT.functionParameter.nper.name',
                detail: 'formula.functionList.PMT.functionParameter.nper.detail',
                example: '10',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PMT.functionParameter.pv.name',
                detail: 'formula.functionList.PMT.functionParameter.pv.detail',
                example: '10000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PMT.functionParameter.fv.name',
                detail: 'formula.functionList.PMT.functionParameter.fv.detail',
                example: '0',
                require: 0,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PMT.functionParameter.type.name',
                detail: 'formula.functionList.PMT.functionParameter.type.detail',
                example: '0',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.PPMT,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.PPMT.description',
        abstract: 'formula.functionList.PPMT.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.PPMT.functionParameter.rate.name',
                detail: 'formula.functionList.PPMT.functionParameter.rate.detail',
                example: '0.1/12',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PPMT.functionParameter.per.name',
                detail: 'formula.functionList.PPMT.functionParameter.per.detail',
                example: '1',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PPMT.functionParameter.nper.name',
                detail: 'formula.functionList.PPMT.functionParameter.nper.detail',
                example: '3*12',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PPMT.functionParameter.pv.name',
                detail: 'formula.functionList.PPMT.functionParameter.pv.detail',
                example: '80000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PPMT.functionParameter.fv.name',
                detail: 'formula.functionList.PPMT.functionParameter.fv.detail',
                example: '0',
                require: 0,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PPMT.functionParameter.type.name',
                detail: 'formula.functionList.PPMT.functionParameter.type.detail',
                example: '0',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.PRICE,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.PRICE.description',
        abstract: 'formula.functionList.PRICE.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.PRICE.functionParameter.settlement.name',
                detail: 'formula.functionList.PRICE.functionParameter.settlement.detail',
                example: '"2008-11-11"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PRICE.functionParameter.maturity.name',
                detail: 'formula.functionList.PRICE.functionParameter.maturity.detail',
                example: '"2021-3-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PRICE.functionParameter.rate.name',
                detail: 'formula.functionList.PRICE.functionParameter.rate.detail',
                example: '0.0785',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PRICE.functionParameter.yld.name',
                detail: 'formula.functionList.PRICE.functionParameter.yld.detail',
                example: '0.0625',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PRICE.functionParameter.redemption.name',
                detail: 'formula.functionList.PRICE.functionParameter.redemption.detail',
                example: '100',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PRICE.functionParameter.frequency.name',
                detail: 'formula.functionList.PRICE.functionParameter.frequency.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PRICE.functionParameter.basis.name',
                detail: 'formula.functionList.PRICE.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.PRICEDISC,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.PRICEDISC.description',
        abstract: 'formula.functionList.PRICEDISC.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.PRICEDISC.functionParameter.settlement.name',
                detail: 'formula.functionList.PRICEDISC.functionParameter.settlement.detail',
                example: '"2008-11-11"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PRICEDISC.functionParameter.maturity.name',
                detail: 'formula.functionList.PRICEDISC.functionParameter.maturity.detail',
                example: '"2021-3-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PRICEDISC.functionParameter.discount.name',
                detail: 'formula.functionList.PRICEDISC.functionParameter.discount.detail',
                example: '0.0625',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PRICEDISC.functionParameter.redemption.name',
                detail: 'formula.functionList.PRICEDISC.functionParameter.redemption.detail',
                example: '100',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PRICEDISC.functionParameter.basis.name',
                detail: 'formula.functionList.PRICEDISC.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.PRICEMAT,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.PRICEMAT.description',
        abstract: 'formula.functionList.PRICEMAT.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.PRICEMAT.functionParameter.settlement.name',
                detail: 'formula.functionList.PRICEMAT.functionParameter.settlement.detail',
                example: '"2008-11-11"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PRICEMAT.functionParameter.maturity.name',
                detail: 'formula.functionList.PRICEMAT.functionParameter.maturity.detail',
                example: '"2021-3-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PRICEMAT.functionParameter.issue.name',
                detail: 'formula.functionList.PRICEMAT.functionParameter.issue.detail',
                example: '"2008-10-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PRICEMAT.functionParameter.rate.name',
                detail: 'formula.functionList.PRICEMAT.functionParameter.rate.detail',
                example: '0.0785',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PRICEMAT.functionParameter.yld.name',
                detail: 'formula.functionList.PRICEMAT.functionParameter.yld.detail',
                example: '0.0625',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PRICEMAT.functionParameter.basis.name',
                detail: 'formula.functionList.PRICEMAT.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.PV,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.PV.description',
        abstract: 'formula.functionList.PV.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.PV.functionParameter.rate.name',
                detail: 'formula.functionList.PV.functionParameter.rate.detail',
                example: '0.02',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PV.functionParameter.nper.name',
                detail: 'formula.functionList.PV.functionParameter.nper.detail',
                example: '12',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PV.functionParameter.pmt.name',
                detail: 'formula.functionList.PV.functionParameter.pmt.detail',
                example: '100',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PV.functionParameter.fv.name',
                detail: 'formula.functionList.PV.functionParameter.fv.detail',
                example: '0',
                require: 0,
                repeat: 0,
            },
            {
                name: 'formula.functionList.PV.functionParameter.type.name',
                detail: 'formula.functionList.PV.functionParameter.type.detail',
                example: '0',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.RATE,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.RATE.description',
        abstract: 'formula.functionList.RATE.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.RATE.functionParameter.nper.name',
                detail: 'formula.functionList.RATE.functionParameter.nper.detail',
                example: '4*12',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.RATE.functionParameter.pmt.name',
                detail: 'formula.functionList.RATE.functionParameter.pmt.detail',
                example: '-200',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.RATE.functionParameter.pv.name',
                detail: 'formula.functionList.RATE.functionParameter.pv.detail',
                example: '8000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.RATE.functionParameter.fv.name',
                detail: 'formula.functionList.RATE.functionParameter.fv.detail',
                example: '0',
                require: 0,
                repeat: 0,
            },
            {
                name: 'formula.functionList.RATE.functionParameter.type.name',
                detail: 'formula.functionList.RATE.functionParameter.type.detail',
                example: '0',
                require: 0,
                repeat: 0,
            },
            {
                name: 'formula.functionList.RATE.functionParameter.guess.name',
                detail: 'formula.functionList.RATE.functionParameter.guess.detail',
                example: '0.1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.RECEIVED,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.RECEIVED.description',
        abstract: 'formula.functionList.RECEIVED.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.RECEIVED.functionParameter.settlement.name',
                detail: 'formula.functionList.RECEIVED.functionParameter.settlement.detail',
                example: '"2008-2-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.RECEIVED.functionParameter.maturity.name',
                detail: 'formula.functionList.RECEIVED.functionParameter.maturity.detail',
                example: '"2008-3-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.RECEIVED.functionParameter.investment.name',
                detail: 'formula.functionList.RECEIVED.functionParameter.investment.detail',
                example: '10000000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.RECEIVED.functionParameter.discount.name',
                detail: 'formula.functionList.RECEIVED.functionParameter.discount.detail',
                example: '0.0575',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.RECEIVED.functionParameter.basis.name',
                detail: 'formula.functionList.RECEIVED.functionParameter.basis.detail',
                example: '2',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.RRI,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.RRI.description',
        abstract: 'formula.functionList.RRI.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.RRI.functionParameter.nper.name',
                detail: 'formula.functionList.RRI.functionParameter.nper.detail',
                example: '96',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.RRI.functionParameter.pv.name',
                detail: 'formula.functionList.RRI.functionParameter.pv.detail',
                example: '10000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.RRI.functionParameter.fv.name',
                detail: 'formula.functionList.RRI.functionParameter.fv.detail',
                example: '11000',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.SLN,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.SLN.description',
        abstract: 'formula.functionList.SLN.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.SLN.functionParameter.cost.name',
                detail: 'formula.functionList.SLN.functionParameter.cost.detail',
                example: '300000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.SLN.functionParameter.salvage.name',
                detail: 'formula.functionList.SLN.functionParameter.salvage.detail',
                example: '75000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.SLN.functionParameter.life.name',
                detail: 'formula.functionList.SLN.functionParameter.life.detail',
                example: '10',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.SYD,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.SYD.description',
        abstract: 'formula.functionList.SYD.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.SYD.functionParameter.cost.name',
                detail: 'formula.functionList.SYD.functionParameter.cost.detail',
                example: '300000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.SYD.functionParameter.salvage.name',
                detail: 'formula.functionList.SYD.functionParameter.salvage.detail',
                example: '75000',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.SYD.functionParameter.life.name',
                detail: 'formula.functionList.SYD.functionParameter.life.detail',
                example: '10',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.SYD.functionParameter.per.name',
                detail: 'formula.functionList.SYD.functionParameter.per.detail',
                example: '10',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.TBILLEQ,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.TBILLEQ.description',
        abstract: 'formula.functionList.TBILLEQ.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.TBILLEQ.functionParameter.settlement.name',
                detail: 'formula.functionList.TBILLEQ.functionParameter.settlement.detail',
                example: '"2008-3-31"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.TBILLEQ.functionParameter.maturity.name',
                detail: 'formula.functionList.TBILLEQ.functionParameter.maturity.detail',
                example: '"2008-6-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.TBILLEQ.functionParameter.discount.name',
                detail: 'formula.functionList.TBILLEQ.functionParameter.discount.detail',
                example: '0.0914',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.TBILLPRICE,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.TBILLPRICE.description',
        abstract: 'formula.functionList.TBILLPRICE.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.TBILLPRICE.functionParameter.settlement.name',
                detail: 'formula.functionList.TBILLPRICE.functionParameter.settlement.detail',
                example: '"2008-3-31"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.TBILLPRICE.functionParameter.maturity.name',
                detail: 'formula.functionList.TBILLPRICE.functionParameter.maturity.detail',
                example: '"2008-6-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.TBILLPRICE.functionParameter.discount.name',
                detail: 'formula.functionList.TBILLPRICE.functionParameter.discount.detail',
                example: '0.0914',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.TBILLYIELD,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.TBILLYIELD.description',
        abstract: 'formula.functionList.TBILLYIELD.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.TBILLYIELD.functionParameter.settlement.name',
                detail: 'formula.functionList.TBILLYIELD.functionParameter.settlement.detail',
                example: '"2008-3-31"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.TBILLYIELD.functionParameter.maturity.name',
                detail: 'formula.functionList.TBILLYIELD.functionParameter.maturity.detail',
                example: '"2008-6-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.TBILLYIELD.functionParameter.pr.name',
                detail: 'formula.functionList.TBILLYIELD.functionParameter.pr.detail',
                example: '98.45',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.VDB,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.VDB.description',
        abstract: 'formula.functionList.VDB.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.VDB.functionParameter.cost.name',
                detail: 'formula.functionList.VDB.functionParameter.cost.detail',
                example: '2400',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.VDB.functionParameter.salvage.name',
                detail: 'formula.functionList.VDB.functionParameter.salvage.detail',
                example: '300',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.VDB.functionParameter.life.name',
                detail: 'formula.functionList.VDB.functionParameter.life.detail',
                example: '10',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.VDB.functionParameter.startPeriod.name',
                detail: 'formula.functionList.VDB.functionParameter.startPeriod.detail',
                example: '1',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.VDB.functionParameter.endPeriod.name',
                detail: 'formula.functionList.VDB.functionParameter.endPeriod.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.VDB.functionParameter.factor.name',
                detail: 'formula.functionList.VDB.functionParameter.factor.detail',
                example: '2',
                require: 0,
                repeat: 0,
            },
            {
                name: 'formula.functionList.VDB.functionParameter.noSwitch.name',
                detail: 'formula.functionList.VDB.functionParameter.noSwitch.detail',
                example: 'false',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.XIRR,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.XIRR.description',
        abstract: 'formula.functionList.XIRR.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.XIRR.functionParameter.values.name',
                detail: 'formula.functionList.XIRR.functionParameter.values.detail',
                example: 'A1:A4',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.XIRR.functionParameter.dates.name',
                detail: 'formula.functionList.XIRR.functionParameter.dates.detail',
                example: 'B1:B4',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.XIRR.functionParameter.guess.name',
                detail: 'formula.functionList.XIRR.functionParameter.guess.detail',
                example: '0.1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.XNPV,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.XNPV.description',
        abstract: 'formula.functionList.XNPV.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.XNPV.functionParameter.rate.name',
                detail: 'formula.functionList.XNPV.functionParameter.rate.detail',
                example: '0.1',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.XNPV.functionParameter.values.name',
                detail: 'formula.functionList.XNPV.functionParameter.values.detail',
                example: 'A1:A4',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.XNPV.functionParameter.dates.name',
                detail: 'formula.functionList.XNPV.functionParameter.dates.detail',
                example: 'B1:B4',
                require: 1,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.YIELD,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.YIELD.description',
        abstract: 'formula.functionList.YIELD.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.YIELD.functionParameter.settlement.name',
                detail: 'formula.functionList.YIELD.functionParameter.settlement.detail',
                example: '"2008-11-11"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.YIELD.functionParameter.maturity.name',
                detail: 'formula.functionList.YIELD.functionParameter.maturity.detail',
                example: '"2021-3-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.YIELD.functionParameter.rate.name',
                detail: 'formula.functionList.YIELD.functionParameter.rate.detail',
                example: '0.0785',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.YIELD.functionParameter.pr.name',
                detail: 'formula.functionList.YIELD.functionParameter.pr.detail',
                example: '98.45',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.YIELD.functionParameter.redemption.name',
                detail: 'formula.functionList.YIELD.functionParameter.redemption.detail',
                example: '100',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.YIELD.functionParameter.frequency.name',
                detail: 'formula.functionList.YIELD.functionParameter.frequency.detail',
                example: '2',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.YIELD.functionParameter.basis.name',
                detail: 'formula.functionList.YIELD.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.YIELDDISC,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.YIELDDISC.description',
        abstract: 'formula.functionList.YIELDDISC.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.YIELDDISC.functionParameter.settlement.name',
                detail: 'formula.functionList.YIELDDISC.functionParameter.settlement.detail',
                example: '"2008-11-11"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.YIELDDISC.functionParameter.maturity.name',
                detail: 'formula.functionList.YIELDDISC.functionParameter.maturity.detail',
                example: '"2021-3-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.YIELDDISC.functionParameter.pr.name',
                detail: 'formula.functionList.YIELDDISC.functionParameter.pr.detail',
                example: '98.45',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.YIELDDISC.functionParameter.redemption.name',
                detail: 'formula.functionList.YIELDDISC.functionParameter.redemption.detail',
                example: '100',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.YIELDDISC.functionParameter.basis.name',
                detail: 'formula.functionList.YIELDDISC.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
    {
        functionName: FUNCTION_NAMES_FINANCIAL.YIELDMAT,
        functionType: FunctionType.Financial,
        description: 'formula.functionList.YIELDMAT.description',
        abstract: 'formula.functionList.YIELDMAT.abstract',
        functionParameter: [
            {
                name: 'formula.functionList.YIELDMAT.functionParameter.settlement.name',
                detail: 'formula.functionList.YIELDMAT.functionParameter.settlement.detail',
                example: '"2008-11-11"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.YIELDMAT.functionParameter.maturity.name',
                detail: 'formula.functionList.YIELDMAT.functionParameter.maturity.detail',
                example: '"2021-3-1"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.YIELDMAT.functionParameter.issue.name',
                detail: 'formula.functionList.YIELDMAT.functionParameter.issue.detail',
                example: '"2008-10-15"',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.YIELDMAT.functionParameter.rate.name',
                detail: 'formula.functionList.YIELDMAT.functionParameter.rate.detail',
                example: '0.0785',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.YIELDMAT.functionParameter.pr.name',
                detail: 'formula.functionList.YIELDMAT.functionParameter.pr.detail',
                example: '98.45',
                require: 1,
                repeat: 0,
            },
            {
                name: 'formula.functionList.YIELDMAT.functionParameter.basis.name',
                detail: 'formula.functionList.YIELDMAT.functionParameter.basis.detail',
                example: '1',
                require: 0,
                repeat: 0,
            },
        ],
    },
];
